package cn.ywsj.ywsjmidtier.entity.VO;

import cn.ywsj.ywsjmidtier.entity.BaseGroup;
import cn.ywsj.ywsjmidtier.entity.RegisterGroup;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
import org.springframework.boot.convert.DataSizeUnit;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

/**
 * @ClassName : UserInfoQueryVo
 * @Author : Lenovo
 * @Date: 2021/7/17 17:13
 * @Description :
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserInfoQueryVo {
    private static final long serialVersionUID = -5345914758175512616L;

    private Long custId;

    @NotBlank(message = "{com.itonghui.user.account.null}", groups = {BaseGroup.Query.class, BaseGroup.Insert.class, RegisterGroup.RegisterLogin.class, RegisterGroup.SmsLogin.class})
    @Pattern(regexp = "^[0-9a-zA-Z_]{6,20}$", message = "{com.itonghui.user.account.accountName}", groups = {BaseGroup.Query.class, RegisterGroup.RegisterLogin.class, RegisterGroup.SmsLogin.class})
    private String userName;

    private String[] userNames;

    private String custName;

    private String nickName;

    private String filePath;

    private Integer userState;

    private Integer userClass;

    private String custType;

    private String roleAuthId;

    private Long userId;

    private Long pUserId;

    private String contactName;

    private String rememberMe;

    private String sysId;

    @NotBlank(message = "{com.itonghui.user.password.null}", groups = {BaseGroup.Query.class, RegisterGroup.RegisterLogin.class})
    @Size(min = 6, message = "{com.itonghui.user.password.Length.message}", groups = {BaseGroup.Query.class, RegisterGroup.RegisterLogin.class})
    private String passwd;

    private String repasswd;

    private String cellphone;

    private String email;

    private String userType;

    private String psptId;

    private String personalId;

    private String sapUserCode;

    private String sapUserAccount;

    private String expertType;

    private String procurementGroup;

    private String ssoOrgId;

    private String ssoAccountId;

    private String scoreModelNo;

    private Integer valetOrder;

    private Long notCustId;

    private String startTime;

    private String endTime;

    private String nameInviter;

    private String phoneInviter;

    private String inviteCode;

    private String loginToken;

    private Integer type;

    private Integer loginType;

    @NotBlank(message = "{com.itonghui.validator.sysCode.null}", groups = {BaseGroup.Query.class})
    @Length(min = 1, max = 6, message = "{com.itonghui.validator.sysCode.length}", groups = {BaseGroup.Query.class})
    private String sysCode;

    private String smsAuth;

    private Boolean isPublic;

    private Long supCustId;

    private String openId;

    private String unionId;

    private String clientId;

    private String appleUserId;

    private String smOpenId;
}
